<extend name="Public/base" />
<block name="style">
	<link rel="stylesheet" href="__PUBLIC__/admin/js/codemirror/codemirror.css">
	<link rel="stylesheet" href="__PUBLIC__/admin/js/codemirror/theme/{:C('codemirror_theme')}.css">
	<style>
		.CodeMirror,#preview_window{
			width:700px;
			height:500px;
		}
		#preview_window.loading{
			background: url('__STATIC__/thinkbox/skin/default/tips_loading.gif') no-repeat center;
		}

		#preview_window textarea{
			display: none;
		}
	</style>
</block>
<block name="body">
	<div class="main-title cf">
		<h2>插件创建</h2>
	</div>
	<!-- 表单 -->
<div class="tab-wrap">
    <ul class="tab-nav nav">
	   <li data-tab="tab1" class="current"><a href='#'>基本信息</a></li>
	   <li data-tab="tab2" ><a href='#'>后台配置</a></li>
	   <li data-tab="tab3" ><a href='#'>微信配置</a></li>
	</ul>

	<div class="tab-content">		
	 <form id="form" action="{:U('build')}" method="post" class="form-horizontal">

	   <div id="tab1" class="tab-pane in tab1">
		<div class="form-item">
			<label class="item-label"><span class="must">*</span>英文标识名<span class="check-tips">（请输入插件标识）</span></label>
			<div class="controls">
				<input type="text" class="text input-large" name="info[name]" value="Example">
			</div>
		</div>
		<div class="form-item">
			<label class="item-label">插件中文名<span class="check-tips">（请输入插件名）</span></label>
			<div class="controls">
				<input type="text" class="text input-large" name="info[title]" value="示列">
			</div>
		</div>
		<div class="form-item">
			<label class="item-label">版本<span class="check-tips">（请输入插件版本）</span></label>
			<div class="controls">
				<input type="text" class="text input-large" name="info[version]" value="0.1">
			</div>
		</div>
		<div class="form-item">
			<label class="item-label">作者<span class="check-tips">（请输入插件作者）</span></label>
			<div class="controls">
				<input type="text" class="text input-large" name="info[author]" value="无名">
			</div>
		</div>
		<div class="form-item">
			<label class="item-label">描述<span class="check-tips">（请输入描述）</span></label>
			<div class="controls">
				<label class="textarea input-large">
					<textarea name="info[description]">这是一个临时描述</textarea>
				</label>
			</div>
		</div>
		<div class="form-item">
			<label class="item-label">安装后是否启用</label>
			<div class="controls">
				<label class="checkbox">
					<input type="checkbox" name="info[status]" value="1" checked />
				</label>
			</div>
		</div>
	   	<div class="form-item">
			<div class="controls">
				<label class="item-label">是否需要外部访问<span class="check-tips">（自动生成控制器目录和模型目录）</span></label>
				<input type="checkbox" class="checkbox" name="has_outurl" value="1" />
			</div>
		</div>
	   </div>
	   <div id="tab2" class="tab-pane  tab2">
	   	<div class="form-item">
			<div class="controls">
				<label class="item-label">是否需要自定义类库<span class="check-tips">（自动生成ORG）</span></label>
				<input type="checkbox" class="checkbox" name="has_org" value="1" />
			</div>
		</div>
	     <div class="form-item">
	   		<label class="item-label">是否自动挂载钩子<span class="check-tips">（多选时,请按住Shift键点击鼠标右键进行选择）</span></label>
			<div class="controls">
				<select class="select" name="hook[]" size="10" multiple required>
					<volist name="Hooks" id="vo">
						<option value="{$vo.name}" title="{$vo.description}">{$vo.name}</option>
					</volist>
				</select>
			</div>
		  </div>
		<div class="form-item">
			<label class="item-label">是否需要配置页面</label>
			<div class="controls">
				<label class="checkbox"><input type="checkbox" id="has_config" name="has_config" value="1" /></label>
				<label class="textarea input-large has_config hidden">
					<textarea class="textarea" name="config">
&lt;?php
return array(
	'random'=>array(//配置在表单中的键名 ,这个会是config[random]
		'title'=>'是否开启随机:',//表单的文字
		'type'=>'radio',		 //表单的类型：text、textarea、checkbox、radio、select等
		'options'=>array(		 //select 和radion、checkbox的子选项
			'1'=>'开启',		 //值=>文字
			'0'=>'关闭',
		),
		'value'=>'1',			 //表单的默认值
	),
);
					</textarea>
				</label>
				<input type="text" class="text input-large has_config hidden" name="custom_config">
				<span class="check-tips has_config hidden">自定义模板,注意：自定义模板里的表单name必须为config[name]这种，获取保存后配置的值用$data.config.name</span>
			</div>
		</div>
				<div class="form-item">
			<label class="item-label">是否需要后台管理</label>
			<div class="controls">
				<label class="checkbox">
					<input type="checkbox" id="has_adminlist" name="has_adminlist" value="1" />勾选，扩展里已装插件后台列表会出现插件名的列表菜单，如系统的附件
				</label>
				<label class="textarea input-large has_adminlist hidden">
					<textarea name="admin_list">
'model'=>'Example',		//要查的表
			'fields'=>'*',			//要查的字段
			'map'=>'',				//查询条件, 如果需要可以再插件类的构造方法里动态重置这个属性
			'order'=>'id desc',		//排序,
			'list_grid'=>array( 		//这里定义的是除了id序号外的表格里字段显示的表头名和模型一样支持函数和链接
                'cover_id|preview_pic:封面',
                'title:书名',
                'description:描述',
                'link_id|get_link:外链',
                'update_time|time_format:更新时间',
                'id:操作:[EDIT]|编辑,[DELETE]|删除'
            ),
					</textarea>
				</label>
				<input type="text" class="text has_adminlist hidden" name="custom_adminlist">
				<span class="check-tips block has_adminlist hidden">自定义模板,注意：自定义模板里的列表变量为$_list这种,遍历后可以用listkey可以控制表头显示,也可以完全手写，分页变量用$_page</span>
			</div>
		</div>
	   </div>
	   <div id="tab3" class="tab-pane  tab3">
		<div class="form-item">
			<label class="item-label">是否启用微信处理</label>
			<div class="controls">
				<label class="checkbox">
					<input type="checkbox" name="weixin" value="1" checked />
				</label>
			</div>
		</div>
	     <div class="form-item">
	   		<label class="item-label">是否挂载微信标签<span class="check-tips">（请严格按照 标签名:方法 格式填写）</span></label>
			<div class="controls">
				<label class="textarea input-large">
                      <textarea name="tagslists">{$Tagsgroup}</textarea>
                </label>
			</div>
		  </div>
		 <!--- TODO  该版本暂不推出  微信行为监听
	     <div class="form-item">
	   		<label class="item-label">是否监听微信行为<span class="check-tips">（多选时,请按住Shift键点击鼠标右键进行选择）</span></label>
			<div class="controls">
				<select class="select" name="weixinbehavior[]" size="10" multiple required>
					<volist name="Hooks" id="vo">
						<option value="{$vo.name}" title="{$vo.description}">{$vo.name}</option>
					</volist>
				</select>
			</div>
		  </div>
		  -->
       </div>
		<div class="form-item">
			<button class="btn btn-return" type="button" id="preview">预 览</button>
			<button class="btn ajax-post_custom submit-btn" target-form="form-horizontal" id="submit">确 定</button>
			<button class="btn btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
		</div>
	</form>
    </div>
</div>
</block>

<block name="script">
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/codemirror.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/xml.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/javascript.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/clike.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/php.js"></script>

	<script type="text/javascript" src="__STATIC__/thinkbox/jquery.thinkbox.js"></script>

	<script type="text/javascript">

	    //自定义切换
    $('.tab-nav li').on('click', function () {
	var tabtype = $(this).attr('data-tab');
	    if(tabtype=='tab1'){
		$(this).attr('class','current');
	    $("[data-tab='tab2']").removeAttr('class');
		$("[data-tab='tab3']").removeAttr('class');
		$('#tab1').show();
		$('#tab2').hide();
		$('#tab3').hide();
		}
	    if(tabtype=='tab2'){
		$(this).attr('class','current');
	    $("[data-tab='tab1']").removeAttr('class');
		$("[data-tab='tab3']").removeAttr('class');
		$('#tab2').show();
		$('#tab1').hide();
		$('#tab3').hide();
		}
	    if(tabtype=='tab3'){
		$(this).attr('class','current');
		$("[data-tab='tab1']").removeAttr('class');
		$("[data-tab='tab2']").removeAttr('class');
		$('#tab3').show();
		$('#tab1').hide();
		$('#tab2').hide();
		}
	});

		function bindShow(radio_bind, selectors){
			$(radio_bind).click(function(){
				$(selectors).toggleClass('hidden');
			})
		}

		//配置的动态
		bindShow('#has_config','.has_config');
		bindShow('#has_adminlist','.has_adminlist');

		$('#preview').click(function(){
			var preview_url = '{:U("preview")}';
			console.log($('#form').serialize());
			$.post(preview_url, $('#form').serialize(),function(data){
				$.thinkbox('<div id="preview_window" class="loading"><textarea></textarea></div>',{
					afterShow:function(){
						var codemirror_option = {
							lineNumbers   :true,
							matchBrackets :true,
							mode          :"application/x-httpd-php",
							indentUnit    :4,
							gutter        :true,
							fixedGutter   :true,
							indentWithTabs:true,
							readOnly	  :true,
							lineWrapping  :true,
							height		  :500,
							enterMode     :"keep",
							tabMode       :"shift",
							theme: "{:C('CODEMIRROR_THEME')}"
						};
						var preview_window = $("#preview_window").removeClass(".loading").find("textarea");
						var editor = CodeMirror.fromTextArea(preview_window[0], codemirror_option);
						editor.setValue(data);
						$(window).resize();
					},

					title:'预览插件主文件',
					unload: true,
					actions:['close'],
					drag:true
				});
			});
			return false;
		});

		$('.ajax-post_custom').click(function(){
	        var target,query,form;
	        var target_form = $(this).attr('target-form');
	        var check_url = '{:U('checkForm')}';
			$.ajax({
			   type: "POST",
			   url: check_url,
			   dataType: 'json',
			   async: false,
			   data: $('#form').serialize(),
			   success: function(data){
			    	if(data.status){
    			        if( ($(this).attr('type')=='submit') || (target = $(this).attr('href')) || (target = $(this).attr('url')) ){
				            form = $('.'+target_form);
				            if ( form.get(0).nodeName=='FORM' ){
				                target = form.get(0).action;
				                query = form.serialize();
				            }else if( form.get(0).nodeName=='INPUT' || form.get(0).nodeName=='SELECT' || form.get(0).nodeName=='TEXTAREA') {
				                query = form.serialize();
				            }else{
				                query = form.find('input,select,textarea').serialize();
				            }
				            $.post(target,query).success(function(data){
				                if (data.status==1) {
				                    if (data.url) {
				                        updateAlert(data.info + ' 页面即将自动跳转~','alert-success');
				                    }else{
				                        updateAlert(data.info + ' 页面即将自动刷新~');
				                    }
				                    setTimeout(function(){
				                        if (data.url) {
				                            location.href=data.url;
				                        }else{
				                        	location.reload();
				                        }
				                    },1500);
				                }else{
				                    updateAlert(data.info);
				                }
				            });
				        }
			    	}else{
			    		updateAlert(data.info);
					}
			   }
			});

	        return false;
	    });

	    //导航高亮
	    highlight_subnav('{:U('Addons/index')}');
	</script>
</block>
